n,a=int(input()),list(map(int,input().split()))
INF=10**9+7
f=[[-INF]*(n+1) for j in range(n+1)]
s=[[0]*(n+1) for j in range(n+1)]
ans=-INF
for i in range(1,n+1):
for j in range(n,0,-1):
for k in range(i,-1,-1):
if k:
f[j][k]=f[j][k-1]+a[j-1]
if j>=i and i+k>=j:
f[j][k]=max(f[j][k],s[j-1][i+k-j]+a[j-1])
ans=max(ans,f[j][k])
for j in range(1,n+1):
for k in range(i+1):
s[j][k]=max(s[j-1][k],f[j][k])
print(ans)
1702B - Polycarp Writes a String from Memory | 1701A - Grass Field |
489C - Given Length and Sum of Digits | 886B - Vlad and Cafes |
915A - Garden | 356A - Knight Tournament |
1330A - Dreamoon and Ranking Collection | 1692B - All Distinct |
1156C - Match Points | 1675A - Food for Animals |
1328C - Ternary XOR | 1689A - Lex String |
1708B - Difference of GCDs | 863A - Quasi-palindrome |
1478A - Nezzar and Colorful Balls | 1581B - Diameter of Graph |
404A - Valera and X | 908A - New Year and Counting Cards |
146A - Lucky Ticket | 1594C - Make Them Equal |
1676A - Lucky | 1700B - Palindromic Numbers |
702C - Cellular Network | 1672C - Unequal Array |
1706C - Qpwoeirut And The City | 1697A - Parkway Walk |
1505B - DMCA | 478B - Random Teams |
1705C - Mark and His Unfinished Essay | 1401C - Mere Array |